package cn.com.zetatech.maple.writer;

import cn.com.zetatech.maple.entity.ColumnDef;
import cn.com.zetatech.maple.entity.Writer;
              
import java.util.List;
import java.util.Map;

/**
 * @author cheng.cao@zetatech.com.cn
 */
public interface WriterHandler {
    /**
     * 将数据持久到存储器中
     * @param writer        存储器中的属性定义(eg:rdbms/hive/hbase/kudu)
     * @param columnDefs    所有列名称和列类型定义(注意:columnDefs和data中的顺序没有任何关系)
     * @param data          数据，Map<String,String> key：列名，value:值
     */
    void write(Writer writer, List<ColumnDef> columnDefs, List<Map<String, String>> data);
}